//
//package com.rt.schedulebase.service.impl;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.github.pagehelper.Page;
//import com.github.pagehelper.PageHelper;
//import com.rt.schedulebase.dto.DictExamQueueDto;
//import com.rt.schedulebase.entity.DictExamQueue;
//import com.rt.schedulebase.entity.commonentity.PageResultUtil;
//import com.rt.schedulebase.mapper.DictExamQueueMapper;
//import com.rt.schedulebase.service.IDictExamClassService;
//import com.rt.schedulebase.service.IDictExamQueueService;
//import com.rt.schedulenew.utils.global.ErrorCode;
//import com.rt.schedulenew.utils.global.JsonResult;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.util.*;
//
//public class DictExamQueueServiceImpl extends ServiceImpl<DictExamQueueMapper, DictExamQueue> implements IDictExamQueueService {
//    @Autowired
//    IDictExamClassService dictExamClassService;
//
//    @Override
//    public boolean insertSelective(DictExamQueue dictExamQueue) {
//        return retBool(baseMapper.insert(dictExamQueue));
//    }
//
//    @Override
//    public boolean deleteByPrimaryKey(String key) {
//        return retBool(baseMapper.deleteById(key));
//    }
//
//    @Override
//    public boolean updateByPrimaryKeySelective(DictExamQueue dictExamQueue) {
//        return retBool(baseMapper.updateById(dictExamQueue));
//    }
//
//    @Override
//    public DictExamQueue selectByPrimaryKey(String key) {
//        return baseMapper.selectById(key);
//    }
//
//    @Override
//    public List<DictExamQueue> getList(DictExamQueueDto dto) {
//        QueryWrapper<DictExamQueue> qw = new QueryWrapper<>();
//        if (StringUtils.isNotBlank(dto.getExamClass())) {
//            qw.in("EXAM_CLASS", dictExamClassService.getExamClass(dto.getExamClass()));
//        }
//        if (StringUtils.isNotBlank(dto.getQueueAlias())) {
//            ((qw.eq("QUEUE_NAME", dto.getQueueAlias())).or())
//                    .eq("QUEUE_ALIAS", dto.getQueueAlias());
//        }
//        Map<String, Object> map = new HashMap<String, Object>();
//        map.put("QUEUE_TYPE", "0");
//        map.put("QUEUE_NAME", dto.getQueueName());
//        map.put("DEPT_CODE", dto.getDeptCode());
//        map.put("LOCATION", dto.getLocation());
//        map.put("ZONE_NAME", dto.getZoneName());
//        qw.allEq(map, false);
//        qw.orderByAsc("SORT_NO");
//        List<DictExamQueue> list = baseMapper.selectList(qw);
//        return list;
//    }
//
//    @Override
//    public List<DictExamQueue> getListAll() {
//        return baseMapper.selectList(null);
//    }
//
//    @Override
//    public boolean delete(DictExamQueue dictExamQueue) {
//        UpdateWrapper<DictExamQueue> uw = new UpdateWrapper<>();
//        Map<String, Object> map = new HashMap<>();
//        map.put("QUEUE_NAME", dictExamQueue.getQueueName());
//        uw.allEq(map, false);
//        return retBool(baseMapper.delete(uw));
//    }
//
//    @Override
//    public boolean update(DictExamQueue dictExamQueue) {
//        UpdateWrapper<DictExamQueue> uw = new UpdateWrapper<>();
//
//        Map<String, Object> map = new HashMap<String, Object>();
//        map.put("QUEUE_NAME", dictExamQueue.getQueueName());
//        uw.allEq(map, false);
//
//        return retBool(baseMapper.update(dictExamQueue, uw));
//    }
//
//    @Override
//    public DictExamQueue getInfo(DictExamQueueDto dto) {
//        QueryWrapper<DictExamQueue> qw = new QueryWrapper<>();
//        Map<String, Object> map = new HashMap<String, Object>();
//        map.put("QUEUE_NAME", dto.getQueueName());
//        qw.allEq(map, false);
//        return baseMapper.selectOne(qw);
//    }
//
//    public JsonResult getListPage(DictExamQueueDto dto) {
//        Page<DictExamQueue> page = new Page<>();
//        if (dto.getPageNo() != null) {
//            page = PageHelper.startPage(dto.getPageNo(), dto.getPageSize());
//        }
//        List<DictExamQueue> list = getList(dto);
//        JsonResult jsonResult = PageResultUtil.success(ErrorCode.SUCCESS.getValue(), list, page);
//        return jsonResult;
//    }
//
//    public List<DictExamQueueDto> getDeptList(DictExamQueueDto dto) {
//        List<DictExamQueueDto> list = baseMapper.getQueueList(dto);
//        return list;
//    }
//
//    public List<DictExamQueueDto> getDeptQueueList(DictExamQueueDto dto) {
//        HashSet<String> set = new HashSet<String>();
//        List<DictExamQueueDto> deptList = getDeptList(dto);
//        for (DictExamQueueDto dictExamQueue : deptList) {
//            set.add(dictExamQueue.getDeptName());
//        }
//        List<DictExamQueueDto> deptQueueList = new ArrayList<DictExamQueueDto>();
//        for (String deptName : set) {
//            List<DictExamQueue> queueList = new ArrayList<DictExamQueue>();
//            for (DictExamQueueDto examQueueDto : deptList) {
//                if (deptName.equals(examQueueDto.getDeptName())) {
//                    DictExamQueueDto dictExamQueueDto = new DictExamQueueDto();
//                    dictExamQueueDto.setQueueName(examQueueDto.getQueueName());
//                    dictExamQueueDto.setQueueAlias(examQueueDto.getQueueAlias());
//                    queueList.add(dictExamQueueDto);
//                }
//            }
//            DictExamQueueDto dictExamQueueDto2 = new DictExamQueueDto();
//            dictExamQueueDto2.setExamClass(dto.getExamClass());
//            dictExamQueueDto2.setDeptName(deptName);
//            dictExamQueueDto2.setQueueList(queueList);
//            deptQueueList.add(dictExamQueueDto2);
//        }
//        return deptQueueList;
//    }
//
//    public String getQueueAlias(DictExamQueueDto req) {
//        String queueAlias = req.getQueueName();
//        List<DictExamQueue> deqList = getList(req);
//        if (deqList != null && !deqList.isEmpty() && StringUtils.isNotBlank(deqList.get(0).getQueueAlias())) {
//            queueAlias = deqList.get(0).getQueueAlias();
//        }
//        return queueAlias;
//    }
//}
